<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>基础语法4 v-model双向绑定</title>
    <script src="http://unpkg.com/vue@3"></script>
</head>
<body>
    <div id="app">
        <h1>知识点1:v-model双向绑定</h1>
        <h3>我们可以使用v-model指令在表单的各种DOM元素进行双向的数据绑定，他会根据我们控件的类型自动更新元素
            同时，它会忽略所以表单元素中的value，checked，selected等属性的初始值。
        </h3>
        <h3>1.单行文本框</h3>
        <input type="text" v-model="singleText">{{singleText}}
        <h3>2.多行文本框</h3>
        <textarea v-model="multiText"></textarea>{{multiText}}
        <h3>3.单选框</h3>
            <h4>单选框在实际中是不能单独使用的，一般是两个及以上，可以设置一个共有的v-model中的变量
                那么久可以实现radiogroup的效果
            </h4>
            <input type="radio" value="A" v-model="radioValue">上课
            <input type="radio" value="B" v-model="radioValue">下课
            <input type="radio" value="C" v-model="radioValue">吃饭
            <input type="radio" value="D" v-model="radioValue">睡觉
            {{radioValue}}
        <h3>4.单个复选框：单个复选框通常用来true或false的选择</h3>
            <Input type="checkbox" v-model="toggleValue">是否天生丽质
                {{toggleValue}}
            </Input>
        <h3>5.多个复选框：v-model接受数组类型的变量</h3>
            <input type="checkbox" v-model="checkedValue" value="漂亮">A.回眸一笑百媚生
            <input type="checkbox" v-model="checkedValue" value="纤细">B.体轻能为掌上舞
            <input type="checkbox" v-model="checkedValue" value="宠爱">C.三千宠爱在一身
            <input type="checkbox" v-model="checkedValue" value="爱情">D.在地愿为连理枝
            {{checkedValue.join(',')}}
        <h3>6.单项下拉选择框</h3>
            <select v-model="singleSelect">
                <option value="杭州">杭州</option>
                <option value="温州">温州</option>
                <option value="福州">福州</option>
                <option value="台州">台州</option>
                <option value="苏州">苏州</option>
            </select>
            {{singleSelect}}
        <h3>7.多项下拉选择框</h3>
            <select multiple v-model="multiSelect">
                <option value="杭州">杭州</option>
                <option value="温州">温州</option>
                <option value="福州">福州</option>
                <option value="台州">台州</option>
                <option value="苏州">苏州</option>
            </select>
            {{multiSelect}}
            <!--选择多个按ctrl键-->
        <h1>知识点2：v-model修饰符</h1>
            <h3>1.lazy修饰符 v-model在每次input触发后将输入框的值与数据进行同步，添加lazy修饰符后，转变为change事件同步</h3>
            <input type="text" v-model.lazy="text">{{text}}
            <h3>2.number修饰符：可以将用户输入的值转化为数字型</h3>
            <input type="text" v-model="num">{{num+1}}
            <h3>3.trim修饰符：可以自动过滤前后的空白字符</h3>
            <input type="text" v-model.trim="text">{{text+'你好'}}
            

    </div>
    
</body>
</html>
<script>
    const appConn=Vue.createApp({
        data(){
            return{
                singleText:'',
                multiText:'',
                radioValue:'',
                toggleValue:'',
                checkedValue:[],
                singleSelect:'',
                multiSelect:'',
                text:'',
                num:1

            }
        },
    }).mount("#app")
</script>